<?php
class Operaciones
{
	//propiedades
	var $Detalle;
	var $Num_Regs=0;
	//propiedades internas
	var $ErrorMsg;//Muestra el ultimo error en la clase
	private $CN;//conexion pasada a la clase en el constructor
	var $SQL;// muestra consulta actual
	
	//constructor
	public function Operaciones(&$bd,$todos=true,$estado=false,$en_menu=false){
		$this->CN=$bd;
		//obtiene los menus
		if($todos){
			$this->SQL='SELECT IdOperacion FROM sys_operaciones ORDER BY PosicionPermiso';
		}else{
			if($estado){
				if($en_menu){
					$this->SQL='SELECT IdOperacion FROM sys_operaciones WHERE Estado=1 AND EnMenu=1 ORDER BY PosicionPermiso';
				}else{
					$this->SQL='SELECT IdOperacion FROM sys_operaciones WHERE Estado=1 ORDER BY PosicionPermiso';
				}
			}else{
				if($en_menu){
					$this->SQL='SELECT IdOperacion FROM sys_operaciones WHERE EnMenu=1 ORDER BY PosicionPermiso';
				}else{
					$this->SQL='SELECT IdOperacion FROM sys_operaciones ORDER BY PosicionPermiso';
				}
			}
		}
		$this->CN->query($this->SQL);
		if($this->CN->Errno){
			$this->ErrorMsg=$this->CN->Error;
			return false;
		}
		$cont=0;
		while($this->CN->next_record()){
			$this->Detalle[$cont]=$this->CN->f('IdOperacion');
			$cont++;
		}
		$this->Num_Regs=$cont;
		return true;
	}
	
	//elimina todos los ambitos excepto el de Inicio
	public function Eliminar(){
		//actualiza la tabla sys_operaciones
		$this->SQL='DELETE FROM sys_operaciones WHERE IdOperacion>1';
		$this->CN->query($this->SQL);
		if($this->CN->Errno){
			$this->ErrorMsg='Eliminar-->'.$this->CN->Error;
			return false;
		}
		return true;
	}
}

?>